using System;
using System.Collections.Generic;

namespace UserManagementService.DTOs;

/// <summary>
/// 组织架构DTO
/// </summary>
public class OrganizationDto
{
    /// <summary>
    /// 组织ID
    /// </summary>
    public Guid Id { get; set; }

    /// <summary>
    /// 组织名称
    /// </summary>
    public string Name { get; set; }

    /// <summary>
    /// 组织代码
    /// </summary>
    public string Code { get; set; }

    /// <summary>
    /// 组织描述
    /// </summary>
    public string Description { get; set; }

    /// <summary>
    /// 父组织ID
    /// </summary>
    public Guid? ParentId { get; set; }

    /// <summary>
    /// 层级
    /// </summary>
    public int Level { get; set; }

    /// <summary>
    /// 排序
    /// </summary>
    public int Sort { get; set; }

    /// <summary>
    /// 是否启用
    /// </summary>
    public bool IsEnabled { get; set; }

    /// <summary>
    /// 子组织列表
    /// </summary>
    public List<OrganizationDto> Children { get; set; } = new List<OrganizationDto>();

    /// <summary>
    /// 创建时间
    /// </summary>
    public DateTime CreationTime { get; set; }

    /// <summary>
    /// 最后修改时间
    /// </summary>
    public DateTime? LastModificationTime { get; set; }
}